home *** CD-ROM | disk | FTP | other *** search
/ W95 Shareware Collection / W95 Collection - Windows 95 Shareware (LCDCAN).iso / win95 / educate / track32 / setup.mst < prev    next >
Text File  |  1995-07-18  |  7KB  |  236 lines

  1.  
  2. '**************************************************************************
  3. '*                       MSSetup Toolkit Sample 1
  4. '**************************************************************************
  5.  
  6. '$DEFINE DEBUG  ''Define for script development/debugging
  7.  
  8. '$INCLUDE 'setupapi.inc'
  9. '$INCLUDE 'msdetect.inc'
  10.  
  11. ''Dialog ID's
  12. CONST WELCOME       = 100
  13. CONST ASKQUIT       = 200
  14. CONST DESTPATH      = 300
  15. CONST EXITFAILURE   = 400
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 900
  20. CONST BADPATH       = 6400
  21. CONST SW_SHOWMAXIMIZED=3
  22.  
  23. DECLARE FUNCTION ShowWindow  LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  24.  
  25. ''Bitmap ID
  26. CONST LOGO = 1
  27.  
  28. GLOBAL DEST$        ''Default destination directory.
  29. GLOBAL DSAVE$        ''Default destination directory.
  30. GLOBAL OPTCUR$      ''Option selection from option dialog.
  31.  
  32. DECLARE SUB Install
  33. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  34.  
  35. 'DECLARE SUB BCMaxWindow LIB "mscuistf.dll" (hMainWind%)
  36.  
  37. INIT:
  38.     hWnd%=HwndFrame()
  39.     junk%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  40.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  41.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  42.  
  43.     
  44.     SetTitle "Tracking The Eye Setup"
  45. '    BCMaxWindow HwndFrame()
  46.     SetBitmap CUIDLL$, LOGO 
  47.  
  48.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  49.     IF szInf$ = "" THEN
  50.         szInf$ = GetSymbolValue("STF_CWDDIR") + "setup.INF"
  51.     END IF
  52.     ReadInfFile szInf$
  53.  
  54.     OPTCUR$ = "1"
  55.     DEST$ = "C:\TRACKEYE"
  56.  
  57. '$IFDEF DEBUG
  58.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  59.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  60.     IF IsDriveValid(WinDrive$) = 0 THEN
  61.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  62.         GOTO QUIT
  63.     END IF
  64. '$ENDIF ''DEBUG
  65.  
  66. WELCOME:
  67.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  68.     IF sz$ = "CONTINUE" THEN
  69.         UIPop 1
  70.     ELSE
  71.         GOSUB ASKQUIT
  72.         GOTO WELCOME
  73.     END IF
  74.  
  75.  
  76. OPTION:
  77.     SetSymbolValue "RadioDefault", OPTCUR$
  78. OPTL1:
  79. '    sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  80. '    OPTCUR$ = GetSymbolValue("ButtonChecked")
  81. '
  82. '    IF sz$ = "CONTINUE" THEN
  83.          UIPop(1)
  84. '    ELSEIF sz$ = "REACTIVATE" THEN
  85. '        GOTO OPTL1
  86. '    ELSE
  87. '        GOSUB ASKQUIT
  88. '        GOTO OPTION
  89. '    END IF
  90.  
  91.  
  92. GETPATH:
  93.     SetSymbolValue "EditTextIn", DEST$
  94.     SetSymbolValue "EditFocus", "END"
  95. GETPATHL1:
  96.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  97.     DEST$ = GetSymbolValue("EditTextOut")
  98.  
  99.     IF sz$ = "CONTINUE" THEN
  100.         IF IsDirWritable(DEST$) = 0 THEN
  101.             GOSUB BADPATH
  102.             GOTO GETPATHL1
  103.         END IF
  104.         UIPop 1
  105.     ELSEIF sz$ = "REACTIVATE" THEN
  106.         GOTO GETPATHL1
  107.     ELSEIF sz$ = "BACK" THEN
  108.         UIPop 1
  109.         GOTO OPTION
  110.     ELSE
  111.         GOSUB ASKQUIT
  112.         GOTO GETPATH
  113.     END IF
  114.  
  115.  
  116.     Install
  117.  
  118.  
  119. QUIT:
  120.     ON ERROR GOTO ERRQUIT
  121.  
  122.     IF ERR = 0 THEN
  123.         dlg% = EXITSUCCESS
  124.     ELSEIF ERR = STFQUIT THEN
  125.         dlg% = EXITQUIT
  126.     ELSE
  127.         dlg% = EXITFAILURE
  128.     END IF
  129. QUITL1:
  130.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  131.     IF sz$ = "REACTIVATE" THEN
  132.         GOTO QUITL1
  133.     END IF
  134.     UIPop 1
  135.  
  136.     END
  137.  
  138. ERRQUIT:
  139.     i% = DoMsgBox("Setup sources were corrupted, call GenCode Tech!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  140.     END
  141.  
  142.  
  143.  
  144. BADPATH:
  145.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  146.     IF sz$ = "REACTIVATE" THEN
  147.         GOTO BADPATH
  148.     END IF
  149.     UIPop 1
  150.     RETURN
  151.  
  152.  
  153.  
  154. ASKQUIT:
  155.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  156.  
  157.     IF sz$ = "EXIT" THEN
  158.         UIPopAll
  159.         ERROR STFQUIT
  160.     ELSEIF sz$ = "REACTIVATE" THEN
  161.         GOTO ASKQUIT
  162.     ELSE
  163.         UIPop 1
  164.     END IF
  165.     RETURN
  166.  
  167.  
  168.  
  169. '**
  170. '** Purpose:
  171. '**     Builds the copy list and performs all installation operations.
  172. '** Arguments:
  173. '**     none.
  174. '** Returns:
  175. '**     none.
  176. '*************************************************************************
  177. SUB Install STATIC
  178.  
  179.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  180.     CreateDir DEST$, cmoNone
  181.  
  182.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  183.     WriteToLogFile ""
  184.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  185.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  186.     WriteToLogFile ""
  187.     WriteToLogFile "May have had to create the directory: " + DEST$
  188.     WriteToLogFile ""
  189.  
  190.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  191.     'AddSectionKeyFileToCopyList "Options", OPTCUR$, SrcDir$, DEST$
  192.     CopyFilesInCopyList
  193.  
  194.     'ini$ = MakePath(DEST$, "TrackEye.ini")
  195.     'CreateIniKeyValue "WIN.INI", "TrackEye", "Option", OPTCUR$, cmoNone
  196.     'CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
  197.     'CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
  198.     'CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
  199.  
  200.     CreateProgmanGroup "Tracking The Eye", "", cmoNone
  201.     ShowProgmanGroup  "Tracking The Eye", 1, cmoNone
  202.     CreateProgmanItem "Tracking The Eye", "Tracking The Eye", MakePath(DEST$,"")+"\TrackEye.exe", "", cmoOverwrite
  203.     CreateProgmanItem "Tracking The Eye", "Run Me To Install Historical Storms", MakePath(DEST$,"")+"\History.bat", "", cmoOverwrite
  204.     CreateProgmanItem "Tracking The Eye", "Tracking The Eye Help", "winhelp.exe "+MakePath(DEST$,"TrackEye.hlp"), "", cmoOverwrite
  205.  
  206.     'AddDos5Help "YOURAPP", "A brief help text for your Windows application."+chr$(10)+"It can be continued on another line with chr$(10).", cmoNone
  207.  
  208.     CloseLogFile
  209.  
  210. END SUB
  211.  
  212.  
  213.  
  214. '**
  215. '** Purpose:
  216. '**     Appends a file name to the end of a directory path,
  217. '**     inserting a backslash character as needed.
  218. '** Arguments:
  219. '**     szDir$  - full directory path (with optional ending "\")
  220. '**     szFile$ - filename to append to directory
  221. '** Returns:
  222. '**     Resulting fully qualified path name.
  223. '*************************************************************************
  224. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  225.     IF szDir$ = "" THEN
  226.         MakePath = szFile$
  227.     ELSEIF szFile$ = "" THEN
  228.         MakePath = szDir$
  229.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  230.         MakePath = szDir$ + szFile$
  231.     ELSE
  232.         MakePath = szDir$ + "\" + szFile$
  233.     END IF
  234. END FUNCTION
  235.  
  236.